Automated watercraft transfer

ABSTRACT

Various examples of transferring a watercraft between land and water are disclosed. When a vehicle receives a transfer signal, the vehicle locates a launch ramp, and the vehicle moves to the launch ramp. A trailer attached to the vehicle moved into the water using the launch ramp, such that a watercraft can be transferred between land and water via the trailer.

TECHNICAL FIELD

The present disclosure generally relates to vehicles and, moreparticularly, to the launching of watercraft from vehicles.

BACKGROUND

Many people own various watercraft, such as boats, jet skis, etc. To usethe watercraft, the owner and/or operator of the watercraft may tow thewatercraft to a launch site. The owner and/or operator may tow thewatercraft using a vehicle, such as a pick-up truck, an SUV, etc. and anattached trailer. The operator may load the watercraft on the trailerattached to the vehicle and drive the vehicle to the launch site. Whenthe operator drives the vehicle and trailer to the launch site, theoperator may unload the watercraft and launch the watercraft into thewater. However, launching the watercraft using the vehicle can includemany difficulties, especially when the operator attempts to launch thewatercraft alone.

SUMMARY

Systems and methods for launching and/or hauling out a watercraft aredisclosed herein. Generally, an autonomous vehicle is autonomouslycontrolled to move to a launch location and move a trailer into waterusing a launch ramp responsive to a transfer signal being received. Thewatercraft can be hauled from the water onto the trailer or launchedinto the water from the trailer when the trailer is moved into the waterusing the launch ramp. The disclosed systems and methods can alleviatedifficulties of launching watercraft when an operator attempts to launchthe watercraft alone.

One example includes a watercraft transfer system for controlling anautonomous vehicle with a trailer attached thereto, the trailer beingconfigured to support a watercraft. The system can include a processor.The system can also include memory operatively connected to theprocessor. The memory can store a launch ramp detection module includinginstructions that, when executed by the processor, cause the processorto detect a launch location of a launch ramp relative to a currentlocation of the autonomous vehicle responsive to receiving a transfersignal. The launch ramp can be for transferring watercraft between landand water. The memory can also store an automated control moduleincluding instructions that, when executed by the processor, cause theprocessor to generate one or more control signals to control theautonomous vehicle to i) move to the launch location and ii) move thetrailer into the water using the launch ramp.

Another example includes a method of launching a watercraft betweenwater and a trailer attached to an autonomous vehicle. The method caninclude, in response to receiving a transfer signal requesting atransfer of the watercraft between the trailer and water, detecting alaunch location of a launch ramp relative to a current location of theautonomous vehicle. The method can also include generating one or morecontrol signals to control the autonomous vehicle to i) move to thelaunch location and ii) to move the trailer into water using the launchramp.

Another example includes a method of launching a watercraft in water andthereafter hauling out the watercraft from the water. The method caninclude generating one or more control signals to control an autonomousvehicle to i) move to a launch location and ii) to move a trailer intothe water using a launch ramp. The method can also include storing thelaunch location in memory. The method can also include receiving a haulout signal. The method can also include generating one or more othercontrol signals to control the autonomous vehicle to i) move to thelaunch location stored in memory and ii) move the trailer into the waterusing the launch ramp.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a side view of a vehicle having a trailer attached thereto.

FIG. 2 is a schematic view of the vehicle of FIG. 1.

FIG. 3A-FIG. 3B illustrates two examples of the trailer of FIG. 1.

FIG. 4 illustrates an example method of transferring a watercraftbetween water and a trailer attached to an autonomous vehicle.

FIG. 5A-FIG. 5B illustrate another example method of transferring awatercraft between water and a trailer attached to an autonomousvehicle.

FIG. 6A-FIG. 6C illustrates different examples of environments includingthe vehicle and trailer of FIG. 1.

DETAILED DESCRIPTION

Systems and methods associated with the transferring of watercraftbetween land and water are disclosed herein. Typically, the transferringof watercraft to or from the water is, at least, a two person job. Forexample, to launch a watercraft into the water, one person will maneuverthe vehicle to the launch site and down the launch ramp, and anotherperson will remain in the watercraft to dock the watercraft. When thewatercraft is launched into the water, the person maneuvering thevehicle will park the vehicle and go on the dock to enter thewatercraft. Similarly, as another example, when the watercraft is beinghauled out from the water, one person will dock the watercraft so thatother person can retrieve the vehicle and return the vehicle and trailerto the launch site. The person in the watercraft will undock thewatercraft, maneuver the watercraft to align it with the vehicle andtrailer, and push the watercraft onto the trailer. These processes aretedious and an annoyance at best.

Thus, the present disclosure describes an automated system and methodfor transferring watercraft between land and the water. Generally, uponreceiving a transfer signal, an example disclosed system locates alaunch location of a launch ramp and autonomously controls an autonomousvehicle to move to the launch ramp. The disclosed system controls theautonomous vehicle to push an attached trailer down the launch ramp andinto water, such that the watercraft can be transferred to or from thewater. The disclosed systems and methods can expedite the launch and/orhaul out process, and limit the number of people required to perform thelaunch and/or haul out. Further, a person can remain in their watercraftthroughout the launch and/or haul out, thus easing the burdens on theperson launching or hauling out the watercraft.

Referring to FIG. 1, a side view of a vehicle 100 having a trailer 105attached thereto is illustrated. As used herein, a “vehicle” is any formof motorized transport. In one or more implementations, the vehicle 100is an automobile. While arrangements will be described herein withrespect to automobiles, it will be understood that examples disclosedherein are not limited to automobiles. To the contrary, the examplesdisclosed herein can include any other type of vehicle that can tow atrailer 105. In one or more arrangements, the vehicle 100 can beautonomous. Autonomous, as used herein, refers to navigating and/ormaneuvering the vehicle 100 along a route or path using one or morecomputing systems to control the vehicle 100 with minimal or no inputfrom a human driver. The vehicle 100 will be referred to hereinafter asan autonomous vehicle 100. However, it is noted that the presentdisclosure is not limited to autonomous vehicles. In some examples, theautonomous vehicle 100 is configured with one or more semi-autonomousoperational modes, such as a watercraft transfer mode, in which one ormore computing systems perform a portion of the maneuvering of thevehicle along a route or path (e.g., when a watercraft 115 is beingtransferred between a trailer and water), and a vehicle operator (i.e.,driver) provides inputs to the vehicle to perform a portion ofmaneuvering of the vehicle 100 along another route or path.

In one or more arrangements, the autonomous vehicle 100 can have atrailer hitch ball 110. In this arrangement, the trailer hitch ball 110can be connected to the autonomous vehicle 100 via a trailer hitchreceiver (not shown). The trailer hitch ball 110 can be selectivelylocked in the trailer hitch receiver. In some arrangements, the trailer105 can be connected to the autonomous vehicle 100 via the trailer hitchball 110.

Referring briefly to FIG. 1, FIG. 3A and FIG. 3B, the trailer 105, whichwill be discussed in greater detail below, can be supporting orotherwise retaining a watercraft 115. The watercraft 115 can be any typeof water-borne vehicle. In the examples disclosed herein, the watercraft115 is a boat. However, the present disclosure is not limited to boats,and can include jet skis, kayaks or canoes, or any other forms ofwatercraft. While a bunk trailer is shown in FIG. 3A and FIG. 3B, it isnoted that the present disclosure is not limited to bunk trailers. Tothe contrary, many other types of trailers can be used. For example, thetrailer 105 can be a float-on trailer, a roller trailer, or any othertype of trailer that can be used to transfer watercraft to and/or fromwater. In some arrangements, the trailer 105 can be used to transfer thewatercraft 115 between land and the water. For example, the autonomousvehicle 100 can position the trailer 105 on a launch ramp 120 and pushthe trailer 105 into water to transfer the watercraft 115 between thetrailer 105 and the water.

Referring now to FIG. 1 and FIG. 2, the autonomous vehicle 100 is shownin greater detail. The autonomous vehicle 100 includes various elements.It will be understood that, in various examples, it may not be necessaryfor the autonomous vehicle 100 to have all of the elements shown in FIG.2. The autonomous vehicle 100 can have any combination of the variouselements shown in FIG. 2. Further, the autonomous vehicle 100 can haveadditional elements to those shown in FIG. 2. In some arrangements, theautonomous vehicle 100 may be implemented without one or more of theelements shown in FIG. 2. Further, while the various elements are shownas being located within the autonomous vehicle 100 in FIG. 2, it will beunderstood that one or more of these elements can be located external tothe autonomous vehicle 100. Further, the elements shown may bephysically separated by large distances.

Some of the possible elements of the autonomous vehicle 100 are shown inFIG. 2 and will be described along with subsequent figures. However, adescription of many of the elements in FIG. 2 will be provided after thediscussion of FIG. 2-FIG. 6C for purposes of brevity of thisdescription. Additionally, it will be appreciated that for simplicityand clarity of illustration, where appropriate, reference numerals havebeen repeated among the different figures to indicate corresponding oranalogous elements. In addition, the discussion outlines numerousspecific details to provide a thorough understanding of the examplesdescribed herein. Those of skill in the art, however, will understandthat the examples described herein may be practiced using variouscombinations of these elements.

The autonomous vehicle 100 includes one or more processor(s) 205. Theprocessor(s) 205 are configured to implement or perform variousfunctions described herein. In one or more arrangements, theprocessor(s) 205 can be a main processor of the autonomous vehicle 100.For instance, the processor(s) 205 can be an electronic control unit(ECU). The autonomous vehicle 100 can include memory 210 for storing oneor more types of data. The memory 210 can be a component of theprocessor(s) 205, or the memory 210 can be operatively connected to theprocessor(s) 205 for use thereby. The term “operatively connected,” asused throughout this description, can include direct or indirectconnections, including connections without direct physical contact.

The autonomous vehicle 100 can include a sensor system 220. The sensorsystem 220 can include one or more sensors. “Sensor” means any device,component and/or system that can detect, and/or sense something. The oneor more sensors can be configured to detect, and/or sense in real-time.As used herein, the term “real-time” means a level of processingresponsiveness that a user or system senses as sufficiently immediatefor a particular process or determination to be made, or that enablesthe processor to keep up with some external process. In somearrangements, the sensor system 220 can include vehicle sensor(s) 221,external environment sensors 223, etc.

In one or more arrangements, the autonomous vehicle 100 can include acommunications system 248. The communications system 248 can include,for example, an antenna tuned to transmit and/or receive data to one ormore other devices and/or vehicles. The communications system 248 can bein communication with another vehicle and/or a remote device. Forexample, the remote device may be a mobile device, a device connected tothe trailer 105, etc. As will be discussed in greater detail below, theautonomous vehicle 100 can use the communications system 248 to exchangedata with one or more other devices and/or vehicles. The communicationssystem 248 can communicate via, for example, dedicated short rangecommunications devices. The communications system 248 can communicatevia a cellular network, Bluetooth, Wi-Fi, etc. The communications system248 can also communicate with the one or more other devices via wiredcommunications.

In one or more arrangements, the memory 210 can include variousinstructions stored thereon. In one or more arrangements, the memory 210can store one or more modules 250. Modules can be or includecomputer-readable instructions that, when executed by the processor(s)205, cause the processor(s) 205 to perform the various functionsdisclosed herein. While one or more modules 250 can be stored on memory210, it should be noted the various modules can be stored on and/or be acomponent of the processor(s) 205, can be remotely stored and accessibleby the processor(s), etc.

In one or more arrangements, the autonomous vehicle 100 can include oneor more remote device communication module(s) 252. The remote devicecommunication module(s) 252 can include instructions to generate one ormore signals for or interpret one or more signals from thecommunications system 248. For example, the communications system 248can receive a signal from a remote device 600 (of FIG. 6). In thisexample, the remote device 600 may be configured to transmit a pluralityof different signals, such as a launch signal, a confirmation signal, ahaul out signal, etc. The remote device 600 may be a mobile device, suchas a cell phone, a laptop, etc., a device connected to vehicle 100 viathe trailer connector, etc. The signal can be transmitted from theremote device 600 to the communications system 248. The remote devicecommunication module(s) 252 can interpret the signal from the remotedevice 600. In this regard, the remote device communication module(s)252 can determine whether the remote device 600 transmitted a launchsignal, a confirmation signal, a haul out signal, etc. As will bediscussed in greater detail below, each of these signals can be used bythe autonomous vehicle 100 to perform different functions, such aslaunching a watercraft 115 into water, confirming one or more steps orfunctions performed by the autonomous vehicle 100, and/or hauling awatercraft 115 from the water.

In some arrangements, the remote device communication module(s) 252 cangenerate one or more signals to transmit via the communications system248. For example, the remote device communication module(s) 252 cangenerate one or more request signals, one or more stop signals, and/orone or more successful launch signals. As will be discussed in greaterdetail below, these signals can be received by the remote device 600.The request signals can correspond to a request for confirmation fromthe user. The stop signal can correspond to an indication that theautonomous vehicle 100 has been stopped from further proceeding down thelaunch ramp 120. The successful launch signal can indicate that thewatercraft 115 has been successfully transferred from the trailer 105 tothe water.

In some arrangements, the remote device communication module(s) 252 cangenerate one or more signals for surrounding vehicles. For example, theremote device communication module(s) 252 can generate a signal toindicate that the autonomous vehicle 100 has received a haul out signal(or launch signal) from the remote device 600. The signals generated bythe remote device communication module(s) 252 can be used to generate ordetermine a queue of vehicles waiting to proceed to the launch ramp 115.As will be discussed in greater detail below, the automated controlmodule can use the queue of vehicles to determine when the autonomousvehicle 100 is first in line to proceed to the launch ramp 115.

The autonomous vehicle 100 can include one or more launch ramp detectionmodule(s) 254. The launch ramp detection module(s) 254 can includeinstructions to detect a launch location of a launch ramp (aka aslipway). The launch location may be a location where a watercraft 115can be transferred between land and water. Launch ramp, as used herein,includes any ramp that partially extends into a body of water and isusable for transferring watercraft between land and water. In one ormore arrangements, the launch location may be located at the launchramp. In one or more arrangements, the launch ramp detection module(s)254 can be configured to detect the launch location responsive to theremote device communication module(s) 252 receiving a signal (e.g., alaunch signal and/or a haul out signal) via the communications system248.

The launch ramp detection module(s) 254 can detect the launch locationusing one or more sensors of the sensor system 220. In somearrangements, the launch ramp detection module(s) 254 can detect one ormore markers positioned at or near the launch ramp. The markers may besigns, barricades, poles, or any other type of symbol or object used orusable to indicate a location of something. In other arrangements, thelaunch ramp detection module(s) 254 can detect a downward pitch in theterrain that extends between land and water using, for example, LIDARsensor(s) 226 or other sensors capable of or configured to map aterrain. The launch ramp detection module(s) 2254 can detect the launchlocation based on the mapped terrain.

In one or more arrangements, the launch ramp detection module(s) 254confirms the launch location. In one example, the memory 210 can includemap data 211 stored thereon. The map data 211 can include a plurality oflaunch location(s) 213, including the launch location detected by thelaunch ramp detection module(s) 254. The launch ramp detection module(s)254 can compare the detected launch location to, for example, thenearest of the plurality of launch location(s) 213 stored on memory 210.If the locations sufficiently match (e.g., the locations are the same orwithin an acceptable variance of one another), the detected launchlocation can be confirmed. In another example, the launch ramp detectionmodule(s) 254 can confirm the launch location by sending a signal to theremote device 600 (of FIG. 6A-6C) via the remote device communicationmodule(s) 252 and communications system 248. The signal may be an image,for example, of the launch location. A user of the remote device 600 canconfirm or disaffirm the launch location (e.g., by selecting a button onthe remote device 600). In both examples, the launch ramp detectionmodule(s) 254 can confirm the launch location; either by iterativeanalysis, or by a user manually confirming the location. In somearrangements, the autonomous vehicle 100 may determine whether or not toperform one or more actions based on whether the launch location hasbeen confirmed. For example, and as will be discussed in greater detailbelow, the autonomous vehicle 100 may be controlled to move responsiveto the launch location being confirmed.

The autonomous vehicle 100 can include one or more automated controlmodule(s) 256. As will be discussed in greater detail below, theautomated control module(s) 256 can include instructions to generate oneor more control signals to move the autonomous vehicle 100. In someexamples, the automated control module(s) 256 can move the autonomousvehicle 100 towards the launch ramp 120.

When the autonomous vehicle 100 has a trailer 105 attached thereto, theautomated control module(s) 256 can maneuver the autonomous vehicle 100towards the launch ramp 120 and thereby push the trailer 105 down thelaunch ramp 120 into water. In some examples, the automated controlmodule(s) 256 may generate the one or more control signals responsive tothe launch location being confirmed (e.g., by the launch ramp detectionmodule(s) 254). In some examples, the automated control module(s) 256may generate the one or more control signals responsive to theautonomous vehicle 100 being first in line to use the launch ramp 115(based on the location of the autonomous vehicle 100 in the queue ofvehicles to use the launch ramp). In some examples, the automatedcontrol module(s) 256 may generate the one or more control signalsresponsive to the autonomous vehicle 100 receiving confirmation signalsfrom the remote device 600 via the remote device communication module(s)252 and communications system 248.

In one or more arrangements, the automated control module(s) 256 caninclude instructions to receive and/or retrieve one or more measurementsfor the trailer 105. For example, a user can input one or moremeasurements for the trailer 105. In some arrangements, the autonomousvehicle 100 can provide one or more measurements for the user to take onthe trailer 105 (e.g., via a head unit, by transmitting one or moresignals to the remote device 600, etc.). The user can then take the oneor more measurements of the trailer 105 and provide the one or moremeasurements to the autonomous vehicle 100. In another example, a usercan input the make/model/serial number/etc. of the trailer 105 into thevehicle head unit (not shown). In this example, the memory 210 can storea database of dimensions for a plurality of trailers including thetrailer 105. Additionally or alternatively, the autonomous vehicle 100can access a database stored remotely (e.g., cloud storage) thatincludes dimensions for the trailer 105. In both arrangements, thedimensions for the plurality of trailers can be associated with amake/model/serial number/etc. The autonomous vehicle 100 can determinethe dimensions for the trailer 105 based on the make/model/serialnumber/etc. that the user input into the vehicle head unit. Thedimensions and/or measurements of the trailer 105 can be used forpredicting movements of the trailer 105 resulting from the autonomousvehicle 100 being controlled to move. For example, the automated controlmodule(s) 256 can generate one or more control signals to move theautonomous vehicle 100 based on the predicted movements of the trailer105. As such, the automated control module(s) 256 can generate one ormore control signals to move the autonomous vehicle 100 and thereby movethe trailer 105.

In some arrangements, the automated control module(s) 256 can detect oneor more conditions about the trailer 105 and/or the autonomous vehicle100. For example, the automated control module(s) 256 can use data fromone or more sensor(s) of the sensor system 220 to detect one or moreconditions about the trailer 105 and/or autonomous vehicle 100. In thisexample, sensor(s) may be positioned on the autonomous vehicle 100and/or the trailer 105. The one or more conditions can include, forexample, trailer jackknifing. The one or more conditions can alsoinclude whether the autonomous vehicle 100 is in water. In arrangementswhere the automated control module(s) 256 detects the one or moreconditions, the automated control module(s) 256 can generate one or moreother signals to maneuver the autonomous vehicle 100 and alleviate ormitigate the one or more conditions. For example, the automated controlmodule(s) 256 can determine whether the trailer 105 is jackknifing usingone or more rearward looking camera(s) 224, and the automated controlmodule(s) 256 can turn the autonomous vehicle 100 in the oppositedirection of the jackknifing. As another example, the automated controlmodule(s) 256 can determine whether the autonomous vehicle 100 is inwater using one or more back-up camera(s) 224, and the automated controlmodule(s) 256 can stop the autonomous vehicle 100 from further movingthe trailer 105 into the water along the launch ramp 120. Additionally,the remote device communication module(s) 252 can transmit a stop signalto the remote device 600 indicating that the watercraft 115 cannot betransferred between the water and the trailer 105 using the launch ramp120.

In some arrangements, the automated control module(s) 256 can furtherinclude instructions to generate the one or more control signals whenthe launch location of the launch ramp 120 is confirmed. In somearrangements, the remote device communication module(s) 252 can generateone or more request signals for confirmation to be sent to the remotedevice 600 (of FIG. 6) via the communications system 248. In thisarrangement, the automated control module(s) 256 can generate one ormore of the one or more control signals responsive to receivingconfirmation signals from the remote device 600. For example, the remotedevice communication module(s) 252 can generate a request signal priorto the autonomous vehicle 100 pushing the trailer 105 down the launchramp 120, prior to the autonomous vehicle 100 pushing the trailer 105into the water, etc. The remote device communication module(s) 252 cansend the request signal to the remote device 600 via the communicationssystem 248. The user can confirm or disaffirm, via the remote device600, the trailer 105 being pushed down the launch ramp 120, the trailer105 being pushed into water, etc. The remote device 600 can transmit aconfirmation or disaffirmation signal, which can be received by thecommunications system 248 and interpreted by the remote devicecommunication module(s) 252. Responsive to the remote devicecommunication module(s) 252 determining that the remote device 600transmitted a confirmation signal, the automated control module(s) 256can generate one or more of the one or more control signals. Forexample, the automated control module(s) 256 can push the trailer 105down the launch ramp 120, push the trailer 105 into the water, etc.responsive to the remote device communication module(s) 252 determiningthe remote device 600 transmitted a confirmation signal for theautonomous vehicle 100 to do so.

The autonomous vehicle 100 can include one or more floatingdetermination module(s) 258. The floating determination module(s) 258can include instructions to determine whether the watercraft 115 on thetrailer 105 is floating. In one or more arrangements, the floatingdetermination module(s) 258 can determine whether the watercraft 115 onthe trailer 105 is floating as the automated control module(s) 256continues to generate the one or more control signals to move thetrailer 105 into the water.

Referring now to FIG. 2, FIG. 3A and FIG. 3B, two examples of thetrailer 105 are shown. One or more float determination sensor(s) 227 canbe positioned on the autonomous vehicle 100, the trailer 105, and/or thewatercraft 115.

As shown in FIG. 3A, the float determination sensor(s) 227 can be afirst and second pitch sensor 400, 405. For example, the trailer 105 caninclude the first pitch sensor 400. Additionally, the watercraft 115(shown in phantom) can include the second pitch sensor 405. Both thefirst and second pitch sensor 400, 405 can be operatively connected tothe processor(s) 205. In some examples, one or more of the pitch sensors400, 405 can wirelessly transmit data to the processor(s) 205. Inanother example, one or more of the pitch sensors 400, 405 can beconnected to the processor(s) 205 through the trailer connector (notshown). The pitch sensor(s) 400, 405 can transmit the pitch of body thatthey are positioned on (e.g., the watercraft 115 and the trailer 105).

As shown in FIG. 3B, the float determination sensor(s) 227 can be acontact sensor. For example, the trailer 105 can include contactsensor(s) 410. The contact sensor(s) 410 can be positioned on thesupport surface(s) 415. The contact sensor(s) 410 can detect, forexample, force applied to the support surface(s) 415. One or morecontact sensor(s) 410 can be positioned in an area of the trailer 105located proximate to the stern of the watercraft 115.

In other arrangements, the float determination sensor(s) 227 can becamera(s) 224. For example, the autonomous vehicle 100 can includecamera(s) 224 positioned to capture images of the watercraft 115. Thecamera(s) 224 can transmit the images to the processor(s) 205, which canprocess the images from the camera(s) 224 using image processingsoftware. The processor(s) 205 can determine whether the watercraft 115in the image appears to be floating based on changes in relativeposition of the watercraft 115 and the autonomous vehicle 100 and/or thetrailer 105.

Referring back to FIG. 2, the floating determination module(s) 258 candetermine whether the watercraft 115 on the trailer 105 is floatingbased on data from any of the previously identified float determinationsensor(s) 227 in the sensor system 220. Where the pitch sensor(s) areused, the floating determination module(s) 258 can determine whether thewatercraft 115 on the trailer 105 is floating based on the detectedpitch of the watercraft 115 relative to the detected pitch of thetrailer 105. For example, the floating determination module(s) 258 candetermine that the watercraft 115 is floating responsive to the pitch ofthe trailer 105 being greater than the pitch of the watercraft 115. Insome examples, where the pitch of the watercraft 115 is substantiallyflat and the trailer is in water, the floating determination module(s)258 can determine that the watercraft 115 is floating. Additionally oralternatively, where contact sensor(s) are used, the floatingdetermination module(s) 258 can determine whether the watercraft 115 onthe trailer is floating based on whether or not the watercraft 115 is incontact with the trailer 105.

In some arrangements, responsive to the floating determination module(s)258 determining that the watercraft is floating, the automated controlmodule(s) 256 can determine the current location and/or position of theautonomous vehicle 100. In some examples, the automated controlmodule(s) 256 can determine the current location based on data from theglobal positioning system(s) 222. The automated control module(s) 256can store the current location as a launch location 213 in memory 210.

In some arrangements, responsive to the floating determination module(s)258 determining that the watercraft is floating, the automated controlmodule(s) 256 can generate one or more control signals to locate aparking spot and move the autonomous vehicle 100 and trailer from thecurrent location stored in memory 210 to the parking spot. Theautonomous vehicle 100 can wait in the parking spot until the remotedevice communication module(s) 252 detect a transfer signal (e.g., ahaul out signal). When the remote device communication module(s) 252detect the transfer signal, the automated control module(s) 256 cangenerate control signal(s) to return to the location stored in memory210 so that a user can maneuver the watercraft 115 onto the trailer 105from the water.

Now that various aspects of the autonomous vehicle 100 have beendescribed, methods of transferring a watercraft between water and atrailer attached to an autonomous vehicle will be described withreference to FIG. 4 and FIG. 5A-5B. The flowcharts shown herein are onlyfor exemplary purposes. The following disclosure should not be limitedto each and every function block shown in the flowcharts. To thecontrary, the methods do not require each and every function blockshown. In some examples, the methods can include additional functionblocks. Further, the methods do not need to be performed in the samechronological order shown in these flowcharts. To the extent possible,reference will be made to the structure described above. As such,particular function blocks of the flowcharts will be discussed withreference to various components of the system described above. However,it should be appreciated that the methods depicted by the exemplaryflowcharts can be implemented by other components of the describedsystem.

Referring specifically to FIG. 4, a method of transferring water betweena trailer 105 attached to an autonomous vehicle 100 and water is shown.The method can begin at starting block 400. In some arrangements, themethod can begin in response to receiving a transfer signal from theremote device 600 (of FIG. 6A-FIG. 6C). The transfer signal from theremote device 600 may be a haul out signal, a launch signal, etc.Therefore, the remote device 600 may send a launch signal and/or a haulout signal, which starts the method disclosed herein. From startingblock 400, the processor(s) 205 can execute instructions from the launchramp detection module(s) 254 according to function block 402.

At function block 402, the launch ramp detection module(s) 254 candetect a launch location of a launch ramp 120. The launch ramp detectionmodule(s) 254 can detect the launch location of the launch ramp 120using one or more sensor(s) of the sensor system 220. In somearrangements, the launch ramp detection module(s) 254 can detect one ormore markers positioned at or near the launch ramp. In otherarrangements, the launch ramp detection module(s) 254 can detect adownward pitch in the terrain that extends between land and water using,for example, LIDAR sensor(s) 226 or other sensors capable of orconfigured to map terrain. Additionally or alternatively, the launchlocation may be stored in the memory 210 of the autonomous vehicle 100.The autonomous vehicle 100 may have previously launched a watercraft 115via the launch ramp 120. In this example, the autonomous vehicle 100 canstore the launch location of the launch ramp 120 used to launch thewatercraft 114. The autonomous vehicle 100 can detect the launchlocation of the launch ramp 120 by accessing the memory 210. Theprocessor(s) 205 can execute instructions from the automated controlmodule(s) 256 according to function block 404.

At function block 404, the automated control module(s) 256 can generateone or more control signals to move to the launch location detected atfunction block 402. The automated control module(s) 256 can move theautonomous vehicle 100 towards the launch location and position thetrailer 105 into the water using the launch ramp 120. From thisposition, a watercraft 115 can be transferred between the trailer 105and the water. The processor(s) 205 can continue to end block 406.

At end block 406, the method can end. The method can end when thewatercraft 115 is transferred (or ready to be transferred) between waterand the trailer 105. Additionally or alternatively, the method can endwhen the automated control module(s) 256 detects one or more conditionsabout the trailer 105 (e.g., trailer jackknifing) and/or the autonomousvehicle 100 (e.g., the autonomous vehicle being in water).

Referring now to FIG. 5A, a method of transferring water between atrailer 105 attached to an autonomous vehicle 100 and water. The methodcan begin at starting block 500. In some arrangements, the method canbegin when the autonomous vehicle 100 is turned on. In somearrangements, the method can begin when the autonomous vehicle 100 islocated at a launch site. From starting block 500, the processor(s) 205can execute instructions from the remote device communications module(s)252 according to function block 502.

At function block 502, the remote device communication module(s) 252 canreceive a transfer signal. The remote device communication module(s) 252can receive the transfer signal from the remote device 600 via thecommunications system 248. The transfer signal may be a launch signal, ahaul out signal, etc. The launch signal may be a signal sent from theremote device 600 indicating that the user would like to launch awatercraft 115 into water. The haul out signal may be a signal sent fromthe remote device 600 indicating that the user would like to haul awatercraft 115 from the water. From function block 502, the processor(s)205 can execute instructions from the launch ramp detection module(s)254 according to function block 504.

At function block 504, the launch ramp detection module(s) 254 candetect a launch location of a launch ramp 120. Function block 504 can besimilar to function block 402. From function block 504, the processor(s)205 can execute instructions from the launch ramp detection module(s)254 according to decision block 506.

At decision block 506, the launch ramp detection module(s) 254 candetermine whether the launch location is confirmed. In somearrangements, the launch ramp detection module(s) 254 can compare thelaunch location detected at function block 504 to one or more launchlocation(s) 213 stored on memory 210. For example, the launch rampdetection module(s) 254 can determine the launch location(s) 213 closestto the current location of the autonomous vehicle 100. The launch rampdetection module(s) 254 can determine whether the launch locationdetected at function block 504 is substantially the same as, forexample, the closest launch location 213 stored on memory 210.Responsive to the launch location being confirmed, the processor(s) 205can execute instructions from the automated control module(s) 254according to function block 508. However, responsive to the launchlocation not being confirmed, the processor(s) 205 can executeinstructions from the launch ramp detection module(s) 254 according tofunction block 504.

Referring to FIG. 5A and FIG. 6A, at function block 508, the automatedcontrol module(s) 256 can generate one or more control signals tocontrol the autonomous vehicle 100. The automated control module(s) 256can move the autonomous vehicle 100 to the launch location. Theautomated control module(s) 256 can move the autonomous vehicle 100 toposition the trailer 105 into water using the launch ramp 120. As shownin FIG. 6A, the watercraft 115 is being transferred into water. Theautomated control module(s) 256 can align the autonomous vehicle 100 andthe trailer 105 with the launch ramp 120. The automated controlmodule(s) 256 can move the autonomous vehicle 100 to push the trailer105 into the water via the launch ramp 120. From function block 508, theprocessor(s) 205 can execute instructions from the automated controlmodule(s) 256 according to decision block 510.

Referring to FIG. 5A and FIG. 6B, at decision block 510, the automatedcontrol module(s) 256 can determine whether the autonomous vehicle 100is in water. The automated control module(s) 256 can determine whetherthe autonomous vehicle 100 is in water based on data from, for example,a back-up camera 224. The back-up camera 224 may be a wide angle camera.The automated control module(s) 256 can determine whether the autonomousvehicle 100 is in water based on images captured by the camera 224. Asthe autonomous vehicle 100 moves down the launch ramp 120, the back-upcamera 224 will detect a reflection of the water. When the water isdetected by the back-up camera 224 and the autonomous vehicle 100continues to move down the launch ramp 120, the autonomous vehicle 100,in one example, monitors the distance the autonomous vehicle 100 movesdown the launch ramp 120. Responsive to determining the distance exceedsa threshold distance Dt, the automated control module(s) 256 candetermine that the autonomous vehicle 100 is in the water. In one ormore arrangements, the threshold distance Dt may be a distance between aportion of the field of view of the back-up camera 224 (in somearrangements, the rear bumper) and the rear wheel. If the autonomousvehicle 100 is in the water, the processor(s) 205 can executeinstructions from the automated control module(s) 256 according tofunction block 512. However, if the autonomous vehicle 100 is not inwater, the processor(s) 205 can execute instructions from the automatedcontrol module(s) 256 according to decision block 516.

At function block 512, the automated control module(s) 256 can generatea control signal to stop the autonomous vehicle 100 from further movingthe trailer 105. The automated control module(s) 256 can generate thecontrol signal to stop the autonomous vehicle 100 from moving thetrailer 105 down the launch ramp 120 if the autonomous vehicle 100 is inthe water. From function block 512, the processor(s) 205 can executeinstructions from the remote device communication module(s) 252according to function block 514. At function block 514, the remotedevice communication module(s) 252 can generate a stop signal totransmit to the remote device 600 via the communications system 248. Thestop signal can indicate to the user of the remote device 600 that thelaunch and/or haul out was unsuccessful at the particular launchlocation detected at function block 504.

At decision block 516, the floating determination module(s) 258 candetermine whether the watercraft 115 is floating. The floatingdetermination module(s) 258 can determine whether the watercraft 115 onthe trailer 105 is floating based on data from the float determinationsensor(s) 227 in the sensor system 220. Where the pitch sensor(s) 400,405 are used, the floating determination module(s) 258 can determinewhether the watercraft 115 on the trailer 105 is floating based on thedetected pitch of the watercraft 115 relative to the detected pitch ofthe trailer 105. Where contact sensor(s) 410 are used, the floatingdetermination module(s) 258 can determine whether the watercraft 115 onthe trailer is floating based on whether or not the watercraft 115 is incontact with the trailer 105. If the watercraft 115 is not floating, theprocessor(s) 205 can execute instructions from the automated controlmodule(s) 256 according to function block 508. However, where thewatercraft 115 is floating, processor(s) 205 can execute instructionsfrom the remote device communication module(s) 252 according to functionblock 518.

At function block 518, the remote device communication module(s) 252 cangenerate a successful launch signal to transmit to the remote device600. The successful launch signal can indicate to a user of the remotedevice 600 that the watercraft 115 has been successfully launched, andthat it is safe to operate the watercraft 115. From function block 518,the processor(s) 205 can execute instructions from the automated controlmodule(s) 256 according to function block 520.

At function block 520, the automated control module(s) 256 can store thelocation (and position) of the autonomous vehicle 100. The automatedcontrol module(s) 256 can store the location (and position) of theautonomous vehicle 100 in memory 210, for example. In some arrangements,the automated control module(s) 256 can generate one or more signals tomove the autonomous vehicle 100 up the launch ramp 115 with the trailer105. The automated control module(s) 256 can also generate one or moresignals to autonomously park the autonomous vehicle 100 and trailer 105.From function block 520, the processor(s) 205 can execute instructionsfrom the remote device communication module(s) 252 according to functionblock 522 of FIG. 5B.

Referring now to FIG. 5B and FIG. 6C, at function block 522, the remotedevice communication module(s) 252 can receive another signal from theremote device 600. The remote device 600 can transmit a haul out signalfrom the watercraft 115, for example. The remote device 600 can transmitthe haul out signal to the autonomous vehicle 100 via the communicationssystem 248. The remote device communication module(s) 252 can receivethe haul out signal via the communications system 248. In somearrangements, the watercraft 115 may be a distance away from the launchramp 120. For example, a user may be operating the watercraft 115 and,when the user is finished operating the watercraft 115, the user mayprovide a selection on the remote device 600, and the remote device 600may send the haul out signal to the autonomous vehicle 100. The remotedevice 600 may send the haul out signal to the autonomous vehicle 100when the user wants to load the watercraft 115 onto the trailer 105. Theprocessor(s) 205 can execute instructions from the remote devicecommunication module(s) 252 according to decision block 524.

At decision block 524, the remote device communication module(s) 252determines whether the autonomous vehicle 100 is first in line to haulout the watercraft 115. In this arrangement, the communications system248 can receive a status of the launch ramp 120. For example, when anautonomous vehicle 100 receives a haul out signal, the autonomousvehicle 100 can transmit a status to each of the surrounding vehicles.As a result, each of the vehicles at a launch site will indicate when ahaul out signal is received. The communications system 248 can determinehow many autonomous vehicles have received haul out signals fromrespective remote devices, and when each autonomous vehicle received ahaul out signal. The remote device communication module(s) 252 candetermine when no other surrounding vehicles have received haul outsignals prior to the autonomous vehicle 100 receiving the haul outsignal. If the autonomous vehicle 100 is first in line to haul out thewatercraft 115, the processor(s) 205 can execute instructions from theautomated control module(s) 256 according to function block 526.However, where the autonomous vehicle 100 is not first in line to haulout the watercraft 115, the processor(s) 205 can continue to executeinstructions from the remote device communication module(s) 252according to decision block 524 until the autonomous vehicle 100 isfirst in line to haul out the watercraft 115.

At function block 526, the automated control module(s) 256 can return tothe location stored in memory (at function block 520). The automatedcontrol module(s) 256 can generate one or more control signals to returnthe autonomous vehicle 100 (and trailer 105) back to the location (andposition) where the watercraft 115 was launched from the trailer 105into the water. When the autonomous vehicle 100 is moved to the launchlocation of the launch ramp 120 and the trailer 105 is positioned intowater using the launch ramp 120, the processor(s) 205 can executeinstructions from the remote device communication module(s) 252according to function block 528.

At function block 528, the remote device communication module(s) 252 cantransmit a haul out ready signal to the remote device 600 via thecommunications system 248. The remote device 600 can receive the haulout ready signal from the communications system 248 of the autonomousvehicle 100. The remote device 600 can indicate that the autonomousvehicle 100 is properly positioned on the launch ramp 120, and that thewatercraft 115 can be hauled out of the water and onto the trailer 105.A user of the remote device 600 can observe an indication on the remotedevice 600 and can control the watercraft 115 to move the watercraft 115onto the trailer 105. The processor(s) 205 can continue to end block530.

At end block 530, the method can end. The method can end when thevehicle 100 and the trailer 105 are positioned for the watercraft 115 toloaded onto the trailer 105.

FIG. 2 will now be discussed in full detail as an example environmentwithin which the system and methods disclosed herein may operate. Insome instances, the vehicle 100 is configured to switch selectivelybetween an autonomous mode, one or more semi-autonomous operationalmodes, and/or a manual mode. Such switching can be implemented in asuitable manner, now known or later developed. “Manual mode” means thatall of or a majority of the navigation and/or maneuvering of the vehicleis performed according to inputs received from a user (e.g., humandriver). In one or more arrangements, the vehicle 100 can be aconventional vehicle that is configured to operate in only a manualmode.

In one or more examples, the autonomous vehicle 100 is an autonomousvehicle. As used herein, “autonomous vehicle” refers to a vehicle thatoperates in an autonomous mode. “Autonomous mode” refers to navigatingand/or maneuvering the autonomous vehicle 100 along a travel route usingone or more computing systems to control the autonomous vehicle 100 withminimal or no input from a human driver. In one or more examples, theautonomous vehicle 100 is highly automated or completely automated. Inone example, the autonomous vehicle 100 is configured with one or moresemi-autonomous operational modes (e.g., a watercraft transfer mode) inwhich one or more computing systems perform a portion of the navigationand/or maneuvering of the vehicle along a travel route, and a vehicleoperator (i.e., driver) provides inputs to the vehicle to perform aportion of the navigation and/or maneuvering of the autonomous vehicle100 along a path.

The autonomous vehicle 100 can include memory 210 for storing one ormore types of data. The memory 210 store can include volatile and/ornon-volatile memory. Examples of suitable memory include RAM (RandomAccess Memory), flash memory, ROM (Read Only Memory), PROM (ProgrammableRead-Only Memory), EPROM (Erasable Programmable Read-Only Memory),EEPROM (Electrically Erasable Programmable Read-Only Memory), registers,magnetic disks, optical disks, hard drives, or any other suitablestorage medium, or any combination thereof. The memory 210 can be acomponent of the processor(s) 205, or the memory 210 can be operativelyconnected to the processor(s) 205 for use thereby. The term “operativelyconnected,” as used throughout this description, can include direct orindirect connections, including connections without direct physicalcontact.

In one or more arrangements, the memory 210 can include map data 211.The map data 211 can include maps of one or more geographic areas. Insome instances, the map data 211 can include information or data onroads, traffic control devices, road markings, structures, features,and/or landmarks in the one or more geographic areas. The map data 211can be in any suitable form. In some instances, the map data 211 caninclude aerial views of an area. In some instances, the map data 211 caninclude ground views of an area, including 360-degree ground views. Themap data 211 can include measurements, dimensions, distances, and/orinformation for one or more items included in the map data 211 and/orrelative to other items included in the map data 211. The map data 211can include a digital map with information about road geometry. The mapdata 211 can be high quality and/or highly detailed.

In one or more arrangements, the map data 211 can include one or moreterrain maps 212. The terrain map(s) 212 can include information aboutthe ground, terrain, roads, surfaces, and/or other features of one ormore geographic areas. The terrain map(s) 212 can include elevation datain the one or more geographic areas. The map data 211 can be highquality and/or highly detailed. The terrain map(s) 212 can define one ormore ground surfaces, which can include paved roads, unpaved roads,land, and other things that define a ground surface.

In one or more arrangements, map data 211 can include a plurality oflaunch location(s) 213. The launch location(s) 213 stored on map data211 may be a location where a watercraft 115 can be transferred betweenland and water. The launch location(s) 213 can correspond to a locationof a launch ramp. The launch ramps include any ramp that partiallyextends into a body of water and is usable for transferring watercraftbetween land and water.

In some instances, at least a portion of the map data 211 can be locatedin memory 210 located onboard the autonomous vehicle 100. Alternatively,or in addition, at least a portion of the map data 211 can be located inmemory 210 that is located remotely from the autonomous vehicle 100.

As noted above, the autonomous vehicle 100 can include the sensor system220. The sensor system 220 can include one or more sensors. “Sensor”means any device, component and/or system that can detect, and/or sensesomething. The one or more sensors can be configured to detect, and/orsense in real-time. As used herein, the term “real-time” means a levelof processing responsiveness that a user or system senses assufficiently immediate for a particular process or determination to bemade, or that enables the processor to keep up with some externalprocess.

In arrangements in which the sensor system 220 includes a plurality ofsensors, the sensors can work independently from each other.Alternatively, two or more of the sensors can work in combination witheach other. In such case, the two or more sensors can form a sensornetwork. The sensor system 220 and/or the one or more sensors can beoperatively connected to the processor(s) 205, the memory 210, and/oranother element of the autonomous vehicle 100 (including any of theelements shown in FIG. 2). The sensor system 220 can acquire data of atleast a portion of the external environment of the autonomous vehicle100 (e.g., the present context).

The sensor system 220 can include any suitable type of sensor. Variousexamples of different types of sensors will be described herein.However, it will be understood that the examples are not limited to theparticular sensors described. The sensor system 220 can include one ormore vehicle sensor(s) 221. The vehicle sensor(s) 221 can detect,determine, and/or sense information about the autonomous vehicle 100itself. In one or more arrangements, the vehicle sensor(s) 221 can beconfigured to detect, and/or sense position and orientation changes ofthe autonomous vehicle 100, such as, for example, based on inertialacceleration. In one or more arrangements, the vehicle sensor(s) 221 caninclude one or more accelerometers, one or more gyroscopes, an inertialmeasurement unit (IMU), a dead-reckoning system, a global positioningsystem (GPS) 222, a global navigation satellite system (GNSS), anavigation system 247, and/or other suitable sensors.

Alternatively, or in addition, the sensor system 220 can include one ormore external environment sensors 223 configured to acquire, and/orsense driving environment data. “Driving environment data” includes anddata or information about the external environment in which anautonomous vehicle is located or one or more portions thereof. Forexample, the one or more external environment sensors 223 can beconfigured to detect, quantify and/or sense objects in at least aportion of the external environment of the autonomous vehicle 100 and/orinformation/data about such objects. Such objects can be stationaryobjects and/or dynamic objects. Further, the one or more externalenvironment sensors 223 can be configured to detect, measure, quantifyand/or sense other things in the external environment of the autonomousvehicle 100, such as, for example, lane markers, signs, traffic lights,traffic signs, lane lines, crosswalks, curbs proximate the autonomousvehicle 100, off-road objects, etc. In one or more arrangements, theexternal environment sensors 223 can include, for example, one or morecamera(s) 224, one or more RADAR sensor(s) 225, one or more LIDARsensor(s) 226, etc.

Various examples of sensors of the sensor system 220 will be describedherein. The example sensors can be part of the one or more externalenvironment sensors 223 and/or the one or more vehicle sensor(s) 221.However, it will be understood that the examples are not limited to theparticular sensors described. As an example, in one or morearrangements, the sensor system 220 can include one or more radarsensors 225, one or more LIDAR sensors 226, one or more sonar sensors,and/or one or more camera(s) 224. In one or more arrangements, the oneor more camera(s) 224 can be high dynamic range (HDR) cameras orinfrared (IR) cameras.

In some arrangements, the senor(s) in the sensor system 220 can bepositioned to detect one or more conditions on the autonomous vehicle100 and/or the trailer 105 when it is attached thereto. For example, thesensor(s) in the sensor system 220 can detect the trailer 105jackknifing. The sensor(s) may be back-up camera(s) 224 positioned toobserve the trailer hitch ball 110. Additionally or alternatively, thesensor(s) in the sensor system 220 can detect the alignment of thetrailer 105 and autonomous vehicle 100 with a launch ramp 120, forexample. Additionally or alternatively, the sensor(s) in the sensorsystem 220 can detect whether the autonomous vehicle 100 is in water.The sensor(s) may be back-up camera(s) 224 positioned to observe thelaunch ramp 120 directly behind the autonomous vehicle 100.

The autonomous vehicle 100 can include an input system 265. An “inputsystem” includes any device, component, system, element or arrangementor groups thereof that enable information/data to be entered into amachine. The input system 265 can receive an input from a vehiclepassenger (e.g. a driver or a passenger). The autonomous vehicle 100 caninclude an output system 270. An “output system” includes any device,component, or arrangement or groups thereof that enable information/datato be presented to a vehicle passenger or occupant (e.g. a person, avehicle passenger, etc.).

The autonomous vehicle 100 can include one or more vehicle systems 240.Various examples of the one or more vehicle systems 240 are shown inFIG. 2. However, the autonomous vehicle 100 can include more, fewer, ordifferent vehicle systems. It should be appreciated that althoughparticular vehicle systems are separately defined, each or any of thesystems or portions thereof can be otherwise combined or segregated viahardware and/or software within the autonomous vehicle 100. Theautonomous vehicle 100 can include a propulsion system 241, a brakingsystem 242, a steering system 243, throttle system 244, a transmissionsystem 245, a signaling system 246, a navigation system 247, and/or acommunications system 248. Each of these systems can include one or moredevices, components, and/or combination thereof, now known or laterdeveloped.

The navigation system 247 can include one or more devices, applications,and/or combinations thereof, now known or later developed, configured todetermine the geographic location of the autonomous vehicle 100 and/orto determine a travel route for the autonomous vehicle 100. Thenavigation system 247 can include one or more mapping applications todetermine a path for the autonomous vehicle 100. The navigation system247 can include a global positioning system 222, a local positioningsystem or a geolocation system.

The autonomous vehicle 100 can include one or more modules 250, at leastsome of which are described herein. The modules can be implemented ascomputer-readable program code that, when executed by the one or moreprocessor(s) 205, implement one or more of the various processesdescribed herein. One or more of the modules 250 can be a component ofthe processor(s) 205, or one or more of the modules 250 can be executedon and/or distributed among other processing systems to which theprocessor(s) 205 is operatively connected. The modules 250 can includeinstructions (e.g., program logic) executable by one or moreprocessor(s) 205. Alternatively, or in addition, the memory 210 cancontain such instructions.

In one or more arrangements, one or more of the modules 250 describedherein can include artificial or computational intelligence elements,e.g., neural network, fuzzy logic or other machine learning algorithms.Further, in one or more arrangements, one or more of the modules 250 canbe distributed among a plurality of the modules described herein. In oneor more arrangements, two or more of the modules 250 described hereincan be combined into a single module.

The autonomous vehicle 100 can include an automated control module(s)256. The automated control module(s) 256 can be configured tocommunicate with the various vehicle systems 240. In one or morearrangements, the processor(s) 205 and/or automated control module(s)256 can be operatively connected to communicate with the various vehiclesystems 240 and/or individual components thereof. For example, theprocessor(s) 205 and/or the automated control module(s) 256 can be incommunication to send and/or receive information from the variousvehicle systems 240 to control the movement, speed, maneuvering,heading, direction, etc. of the autonomous vehicle 100. The processor(s)205 and/or the automated control module(s) 256 can control some or allof these vehicle systems 240 and, thus, the autonomous vehicle 100 canbe partially or fully autonomous.

The autonomous vehicle 100 can include one or more actuators 275. Theactuators 275 can be any element or combination of elements operable tomodify, adjust and/or alter one or more of the vehicle systems 240 orcomponents thereof responsive to receiving signals or other inputs fromthe processor(s) 205 and/or the automated control module(s) 256. Anysuitable actuator can be used. For instance, the one or more actuators275 can include motors, pneumatic actuators, hydraulic pistons, relays,solenoids, and/or piezoelectric actuators, just to name a fewpossibilities.

The processor(s) 205 and/or the automated control module(s) 256 can beoperable to control the navigation and/or maneuvering of the autonomousvehicle 100 by controlling one or more of the vehicle systems 240 and/orcomponents thereof. For instance, when operating in an autonomous orsemi-autonomous mode, the processor(s) 205 and/or the automated controlmodule(s) 256 can control the direction and/or speed of the autonomousvehicle 100. The processor(s) 205 and/or the automated control module(s)256 can cause the autonomous vehicle 100 to accelerate (e.g., byincreasing the supply of fuel provided to the engine), decelerate (e.g.,by decreasing the supply of fuel to the engine and/or by applyingbrakes) and/or change direction (e.g., by turning the front two wheels).As used herein, “cause” or “causing” means to make, force, compel,direct, command, instruct, and/or enable an event or action to occur orat least be in a state where such event or action can occur, either in adirect or indirect manner.

The automated control module(s) 256 can be configured to determinepath(s), current autonomous driving maneuvers for the autonomous vehicle100, future autonomous driving maneuvers and/or modifications to currentautonomous driving maneuvers based on data acquired by the sensor system220, driving scene models, and/or data from any other suitable source.

The automated control module(s) 256 can be configured to determine oneor more driving maneuvers to follow the determined path(s) for theautonomous vehicle 100. “Driving maneuver” means one or more actionsthat affect the movement of a vehicle. Examples of driving maneuversinclude: accelerating, decelerating, braking, turning, moving in alateral direction of the autonomous vehicle 100, changing travel lanes,merging into a travel lane, and/or reversing, just to name a fewpossibilities. The automated control module(s) 256 can be configured canbe configured to implement the determined driving maneuvers. Theautomated control module(s) 256 can cause, directly or indirectly, suchautonomous driving maneuvers to be implemented.

Detailed examples are disclosed herein. However, it is to be understoodthat the systems and methods disclosed herein are intended only asexamples. Therefore, specific structural and functional detailsdisclosed herein are not to be interpreted as limiting, but merely as abasis for the claims and as a representative basis for teaching oneskilled in the art to variously employ the aspects herein in virtuallyany appropriately detailed structure. Further, the terms and phrasesused herein are not intended to be limiting but rather to provide anunderstandable description of possible implementations. Various examplesare shown in FIGS. 1-6C, but the examples are not limited to theillustrated structure or application.

The flowcharts and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousexamples. In this regard, each block in the flowcharts or block diagramsmay represent a module, segment, or portion of code, which comprises oneor more executable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved.

The systems, components and/or processes described above can be realizedin hardware or a combination of hardware and software and can berealized in a centralized fashion in one processing system or in adistributed fashion where different elements are spread across severalinterconnected processing systems. Any kind of processing system oranother apparatus adapted for carrying out the methods described hereinis suited. A typical combination of hardware and software can be aprocessing system with computer-usable program code that, when beingloaded and executed, controls the processing system such that it carriesout the methods described herein. The systems, components and/orprocesses also can be embedded in a computer-readable storage, such as acomputer program product or other data programs storage device, readableby a machine, tangibly embodying a program of instructions executable bythe machine to perform methods and processes described herein. Theseelements also can be embedded in an application product which comprisesall the maintenance conditions enabling the implementation of themethods described herein and, which when loaded in a processing system,is able to carry out these methods.

Furthermore, arrangements described herein may take the form of acomputer program product embodied in one or more computer-readable mediahaving computer-readable program code embodied, e.g., stored, thereon.Any combination of one or more computer-readable media may be utilized.The computer-readable medium may be a computer-readable signal medium ora computer-readable storage medium. The phrase “computer-readablestorage medium” means a non-transitory storage medium. Acomputer-readable storage medium may be, for example, but not limitedto, an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thecomputer-readable storage medium would include the following: a portablecomputer diskette, a hard disk drive (HDD), a solid-state drive (SSD), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a portable compact disc read-only memory (CD-ROM), adigital versatile disc (DVD), an optical storage device, a magneticstorage device, or any suitable combination of the foregoing. In thecontext of this document, a computer-readable storage medium may be anytangible medium that can contain, or store a program for use by or inconnection with an instruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber, cable, RF, etc., or any suitable combination ofthe foregoing. Computer program code for carrying out operations foraspects of the present arrangements may be written in any combination ofone or more programming languages, including an object-orientedprogramming language such as Java™, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer, or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

The terms “a” and “an,” as used herein, are defined as one or more thanone. The term “plurality,” as used herein, is defined as two or morethan two. The term “another,” as used herein, is defined as at least asecond or more. The terms “including” and/or “having,” as used herein,are defined as comprising (i.e. open language). The phrase “at least oneof . . . and . . . ” as used herein refers to and encompasses any andall possible combinations of one or more of the associated listed items.As an example, the phrase “at least one of A, B, and C” includes A only,B only, C only, or any combination thereof (e.g. AB, AC, BC or ABC).

Aspects herein can be embodied in other forms without departing from thespirit or essential attributes thereof. Accordingly, reference should bemade to the following claims, rather than to the foregoingspecification, as indicating the scope hereof.

What is claimed is:
 1. A watercraft transfer system for controlling anautonomous vehicle with a trailer attached thereto, the trailer beingconfigured to support a watercraft, the system comprising: a processor;and memory operatively connected to the processor and storing: a launchramp detection module including instructions that, when executed by theprocessor, cause the processor to detect, in response to receiving atransfer signal, a launch location of a launch ramp for transferring thewatercraft between land and water relative to a current location of theautonomous vehicle; and an automated control module includinginstructions that, when executed by the processor, cause the processorto generate one or more control signals that control the autonomousvehicle to i) move to the launch location, and ii) move the trailer intothe water using the launch ramp.
 2. The system of claim 1, wherein thelaunch ramp detection module further includes instructions to confirmthe launch location by comparing the launch location with a map havingdata corresponding to a location of one or more launch ramps includingthe launch ramp that was detected.
 3. The system of claim 2, wherein theautomated control module further includes instructions to generate theone or more control signals in response to the launch location of thelaunch ramp being confirmed when the launch location matches thelocation of the one or more launch ramps from the map.
 4. The system ofclaim 1, wherein the memory further stores: a floating determinationmodule including instructions that, when executed by the processor,cause the processor to determine whether the watercraft on the traileris floating in the water.
 5. The system of claim 4, further comprising:one or more contact sensors positioned on the trailer and operativelyconnected to the processor; and wherein the floating determinationmodule further includes instructions to detect whether the watercraft isin contact with the trailer via the contact sensor.
 6. The system ofclaim 4, further comprising: one or more pitch sensors positioned on thewatercraft and any one of the trailer and the autonomous vehicle; andwherein the floating determination module further includes instructionsto detect a pitch of the watercraft relative to a pitch of the traileror the pitch of the autonomous vehicle.
 7. A method of transferring awatercraft between water and a trailer attached to an autonomousvehicle, the method comprising: in response to receiving a transfersignal requesting a transfer of the watercraft between the trailer andwater, detecting a launch location of a launch ramp relative to acurrent location of the autonomous vehicle; and generating one or morecontrol signals to control the autonomous vehicle to i) move to thelaunch location and ii) to move the trailer into the water using thelaunch ramp.
 8. The method of claim 7, further comprising: determiningwhether the autonomous vehicle is in the water; and responsive to theautonomous vehicle not being in the water, continuing to generate theone or more control signals to control the autonomous vehicle to movethe trailer into the water using the launch ramp.
 9. The method of claim8, further comprising: responsive to the autonomous vehicle being in thewater, generating a control signal to stop the autonomous vehicle fromfurther moving the trailer into the water along the launch ramp.
 10. Themethod of claim 9, further comprising: transmitting a stop signal to aremote device indicating that the watercraft cannot be transferredbetween the water and the trailer using the launch ramp when theautonomous vehicle is in the water.
 11. The method of claim 7, whereinthe transfer signal is a launch signal, and wherein the method furthercomprises: determining whether the watercraft is floating in the water.12. The method of claim 11, wherein determining whether the watercraftis floating in the water comprises determining whether the watercraft isfloating based, at least in part, on a comparison of a pitch of thewatercraft with a pitch of the trailer as detected by one or more pitchsensors positioned on the watercraft and the trailer.
 13. The method ofclaim 11, wherein determining whether the watercraft is floating in thewater comprises determining whether the watercraft is in contact withthe trailer as detected by one or more contact sensors positioned on asupport surface of the trailer.
 14. The method of claim 11, furthercomprising: responsive to detecting that the watercraft floating in thewater, transmitting a successful launch signal to a remote deviceindicating the watercraft has been launched.
 15. The method of claim 7,further comprising: confirming the launch location by comparing thelaunch location with a map that identifies coordinates of one or morelaunch ramps including the launch ramp.
 16. The method of claim 15,wherein generating the one or more control signals includes generatingthe one or more control signals responsive to confirming the launchlocation.
 17. The method of claim 7, further comprising: storing thelaunch location for repositioning the trailer at the launch location inresponse to receiving a haul out signal.
 18. A method of launching awatercraft in water and thereafter hauling out the watercraft from thewater, the method comprising: generating one or more control signals tocontrol an autonomous vehicle to i) move to a launch location and ii) toposition a trailer into water using a launch ramp; storing the launchlocation in memory; receiving a haul out signal; and generating one ormore other control signals to control the autonomous vehicle to i) moveto the launch location stored in memory and ii) move the trailer intothe water using the launch ramp.
 19. The method of claim 18, furthercomprising: determining whether the autonomous vehicle is first in lineto haul out the watercraft.
 20. The method of claim 19, whereingenerating the one or more other control signals is performed responsiveto the autonomous vehicle being first in line.